Robots are mechanized programmable tools used widely in automated manufacturing processes. Robots are generally employed to perform repetitive tasks in a precise and time efficient manner. In a typical manufacturing process, a robot performs a repetitive sequence of point-to-point movements, coming to a stop at each point to perform a task.
Robots are utilized extensively in automobile production lines, for example, to apply spot welds to automobile frames at predetermined, programmed stop locations. Welding is a manufacturing process that bonds or joins materials, usually metals or thermoplastics, by causing coalescence—the process by which two separate units fuse or merge into a single body, through the application of intense heat, directed pressure, or both, at or along a weld joint. Automated robotic welding offers more precise placement of welds, in a more time efficient manner, than can otherwise be accomplished through the use of manual labor. Accordingly, automated robotic welding results in relatively less scrap materials, decreased rework, and increased output.
Determining the layout of individual robotic welding cells or workstations in an automobile production line is a key step in automotive Body in White Manufacturing process planning. Body in White (BIW) Manufacturing refers to the stage of automobile fabrication in which the vehicle body sheet metal, such as doors, hoods, and deck lids, has been assembled, but prior to the addition of powertrain components (e.g., motor, transmission, exhaust, etc) and trim accessories (e.g., windshields, seats, upholstery, electronics, etc.). Determining robotic cell layout is a highly iterative process, traditionally assisted by simulation software. While the simulation tools help in the computation of the results at each iteration, they do not provide direction for possible modifications or improvements to be made for the next iteration. Consequently, human expertise and judgment has traditionally played an important role in formulating the proposed layout. Conventionally, a geometrically feasible solution is considered satisfactory, even though downstream processes, such as robot programming and controls, may require significant rework to meet manufacturing criteria, e.g., “smoothness” of robot trajectories.
The efficiency of an individual robot cell, and thus the productivity of the entire assembly line, can be improved by minimizing the robot's cycle time for completing a work plan. The cycle time for any given robot cell depends on many parameters, such as the position of the manipulator (i.e., the mechanical portion of the robot) relative to each distinct task, the relative position of the task points, the sequence in which the task points are visited, the maximum velocity and acceleration of the various actuators (e.g., servomotors), and the configuration of the robotic arm. An ill-placed or improperly programmed robot risks inefficient operation and even failure.
A probabilistic roadmap planner or algorithm (PRM) is a motion planning technique commonly used for determining geometrically feasible robotic paths (i.e., a collision free path) and weld gun orientations in automated manufacturing processes. While PRMs and other similar path planners produce geometrically feasible solutions, the solutions may not meet other manufacturing criteria. For example, the path calculated, if one is found at all, may involve joint motions that are generally unacceptable for implementation on a manufacturing plant floor (e.g., excessive joint motion or stress on attached cables).
By way of clarification, FIG. 1 illustrates a multi-dimensional “configuration space”, identified generally as 10, representative of all possible positions that a physical system, such as robotic welding cell, may attain, subject to external constraints. PRM planners function to build or compute a collision free path or “probabilistic roadmap” 12 inside a free space 11—defined as the collision-free subset of configuration space 10 inside border or edge 13. A point “Q” represents a specific robot configuration, e.g. a 6-tuple of joint angles, in configuration space 10 (which may or may not be in free space 11), while the shaded areas 14 each represent an obstacle or “object to avoid” in the configuration space 10. The objects or obstacles 14 are difficult to efficiently compute and represent explicitly. As an alternative, prior art PRM algorithms sample (e.g., through linear interpolation) the configuration space 10, performing “static collision detection” at sample points 16 and “dynamic collision detection” along a line or local path 18 connecting two sample points 16 to simulate the collision or intersection of two specific structures, such as a robot arm with one of the objects 14. The PRM algorithm thereafter adds the sample points 16 and continuously updates the roadmap until a termination criteria is satisfied, reporting either the best path found or that no path was found.
A conventional PRM algorithm requires “Start” and “Goal” configurations located in free space 11 be known or calculated a priori (i.e., proceeding from a known or assumed cause to a necessarily related effect). In typical weld processing, for example, the “home configuration”, identified as Qh in FIG. 1, acts as the start configuration and each “weld point”, represented collectively in FIG. 1 as Qg, acts as the goal configuration. Normally, the home configuration Qh and weld gun “approach vector” or “orientation vector”—i.e., the orientation of the weld gun about a tip for a given weld point, are specified in advance, traditionally using an iterative “generate and test” methodology. The resulting path will generally satisfy any geometric constraints, but may fail to meet other manufacturing parameters, often requiring significant modification later in the process.
Similarly, the goal configuration Qg (e.g., weld point) and weld gun orientation vectors are predetermined—e.g., weld tip must be approximately normal to the surface of the part at the weld joint, constraining, but not necessarily defining, an acceptable goal configuration. In other words, the goal configuration Qg that is in free space 11 may not be known a priori, and indeed may not exist. For example, the goal Qg is typically a set of acceptable configurations rather than a single point in configuration space 10 since a weld gun may be infinitely rotated about the tip. Consequently, prior practice is to manually test various orientations in an iterative and time consuming process.
In a typical scenario, the robot executes a cyclical motion—it starts and ends at the same home configuration Qh. However, automated solutions of the prior art do not systematically determine and jointly optimize all system design variables—e.g., the home position Qh for the robot, the orientations of the weld gun at the goal configuration Qg—e.g., weld point, and a collision free path 12 that visits a given sequence of weld locations.